Dans un langage à typage statique, l'immutabilité est l'état fondamental des données, garantissant la sécurité de la mémoire et une exécution prévisible. Bien que les variables puissent être masquées ou rendues mutables, les constantes vont plus loin en liant une valeur à un nom de manière permanente.
1. La rigueur des constantes
Contrairement aux variables standards où l'inférence de type permet au compilateur de déduire le type de données, les constantes exigent strictement une annotation de type explicite (par exemple, : u32). Cela maintient des contrats rigoureux dans le binaire du code.
2. Évaluation au moment de la compilation
Les constantes ne sont pas simplement des variables immuables ; elles sont évaluées et « intégrées » dans le binaire du programme pendant la phase de compilation. Cela permet au compilateur d'exécuter expressions constantes (comme 60 * 60 * 3) avant même que le programme ne s'exécute, optimisant ainsi les performances.
3. Immutabilité absolue
Les constantes servent de « source unique de vérité ». Elles ne peuvent pas être rendues mutables avec mut et ne peuvent pas être masquées dans le même contexte, assurant que les paramètres essentiels du programme restent inchangés tout au long de son exécution.